package vo

import (
	"boy-go/pkg/request"
	"boy-go/pkg/xtime"
	"time"
)

type SysNoticeModel struct {
	NoticeId      int64   `json:"noticeId" form:"noticeId"`           // 公告ID
	NoticeTitle   *string `json:"noticeTitle" form:"noticeTitle"`     // 公告标题
	NoticeType    *string `json:"noticeType" form:"noticeType"`       // 公告类型（1通知 2公告）
	NoticeContent *string `json:"noticeContent" form:"noticeContent"` // 公告内容
	Status        *string `json:"status" form:"status"`               // 公告状态（0正常 1关闭）
	CreateBy      *string `json:"createBy" form:"createBy"`           // 创建者
	CreateTime    *string `json:"createTime" form:"createTime"`       // 创建时间
	UpdateBy      *string `json:"updateBy" form:"updateBy"`           // 更新者
	UpdateTime    *string `json:"updateTime" form:"updateTime"`       // 更新时间
	Remark        *string `json:"remark" form:"remark"`               // 备注
}

func (item *SysNoticeModel) CreateAt(t *time.Time) {
	item.CreateTime = xtime.TS.Format(t)
}
func (item *SysNoticeModel) UpdateAt(t *time.Time) {
	item.UpdateTime = xtime.TS.Format(t)
}

type QuerySysNoticeReq struct {
	request.ParamsRequest         // 分页参数
	NoticeId              int64   `json:"noticeId" form:"noticeId"`           // 公告ID
	NoticeTitle           *string `json:"noticeTitle" form:"noticeTitle"`     // 公告标题
	NoticeType            *string `json:"noticeType" form:"noticeType"`       // 公告类型（1通知 2公告）
	NoticeContent         *string `json:"noticeContent" form:"noticeContent"` // 公告内容
	Status                *string `json:"status" form:"status"`               // 公告状态（0正常 1关闭）
	CreateBy              *string `json:"createBy" form:"createBy"`           // 创建者
	CreateTime            *string `json:"createTime" form:"createTime"`       // 创建时间
	UpdateBy              *string `json:"updateBy" form:"updateBy"`           // 更新者
	UpdateTime            *string `json:"updateTime" form:"updateTime"`       // 更新时间
	Remark                *string `json:"remark" form:"remark"`               // 备注
}
type ListSysNoticeRsp struct {
	List  []*SysNoticeModel
	Total int64
}

type AddSysNoticeReq struct {
	NoticeId      int64   `json:"noticeId" form:"noticeId"`           // 公告ID
	NoticeTitle   *string `json:"noticeTitle" form:"noticeTitle"`     // 公告标题
	NoticeType    *string `json:"noticeType" form:"noticeType"`       // 公告类型（1通知 2公告）
	NoticeContent *string `json:"noticeContent" form:"noticeContent"` // 公告内容
	Status        *string `json:"status" form:"status"`               // 公告状态（0正常 1关闭）
	CreateBy      *string `json:"createBy" form:"createBy"`           // 创建者
	CreateTime    *string `json:"createTime" form:"createTime"`       // 创建时间
	UpdateBy      *string `json:"updateBy" form:"updateBy"`           // 更新者
	UpdateTime    *string `json:"updateTime" form:"updateTime"`       // 更新时间
	Remark        *string `json:"remark" form:"remark"`               // 备注
}
type AddSysNoticeRsp struct {
	NoticeId int64 `json:"noticeId" form:"noticeId"` // 公告ID
}

type EditSysNoticeReq struct {
	NoticeId      int64   `json:"noticeId" form:"noticeId"`           // 公告ID
	NoticeTitle   *string `json:"noticeTitle" form:"noticeTitle"`     // 公告标题
	NoticeType    *string `json:"noticeType" form:"noticeType"`       // 公告类型（1通知 2公告）
	NoticeContent *string `json:"noticeContent" form:"noticeContent"` // 公告内容
	Status        *string `json:"status" form:"status"`               // 公告状态（0正常 1关闭）
	CreateBy      *string `json:"createBy" form:"createBy"`           // 创建者
	CreateTime    *string `json:"createTime" form:"createTime"`       // 创建时间
	UpdateBy      *string `json:"updateBy" form:"updateBy"`           // 更新者
	UpdateTime    *string `json:"updateTime" form:"updateTime"`       // 更新时间
	Remark        *string `json:"remark" form:"remark"`               // 备注
}
type EditSysNoticeRsp struct {
	NoticeId int64 `json:"noticeId" form:"noticeId"` // 公告ID
}
